package com.weai.dto;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 注册请求数据传输对象
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class RegisterRequest {
    
    /**
     * 用户中文名
     */
    @NotBlank(message = "中文名不能为空")
    @Size(min = 2, max = 50, message = "中文名长度必须在2-50个字符之间")
    private String chineseName;
    
    /**
     * 用户英文名
     */
    @NotBlank(message = "英文名不能为空")
    @Pattern(regexp = "^[a-zA-Z0-9_]{4,50}$", message = "英文名只能包含英文字母、数字和下划线，长度在4-50个字符之间")
    private String englishName;
    
    /**
     * 用户密码
     */
    @NotBlank(message = "密码不能为空")
    @Size(min = 6, max = 20, message = "密码长度必须在6-20个字符之间")
    private String password;
    
    /**
     * 用户角色，默认为普通用户
     */
    private String role = "USER";
} 